﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Okuma.CLDATAPI.Enumerations;
using Okuma.CLDATAPI.DataAPI;
using OpenNETCF.MTConnect;
using System.Windows.Forms;

namespace Okuma
{
    public class MockAxis : ToolPart, IAxis
    {
        public AllAxisIndexEnum AxisIndex { get; set; }

        internal MockAxis(SubSystemEnum subSystem, AllAxisIndexEnum index, ILogService logService)
            : base(subSystem)
        {
            AxisIndex = index;
        }

        [SampleDataItem(UnitValues.Millimiter, ItemType = DataItemType.POSITION, ItemSubType = DataItemSubtype.ACTUAL)]
        public double CommandedPosition
        {
            get
            {
                return 0;
            }
        }

        [SampleDataItem(UnitValues.Millimiter, ItemType = DataItemType.POSITION, ItemSubType = DataItemSubtype.ACTUAL)]
        public double EncoderPosition
        {
            get
            {
                return 0;
            }
        }

        [SampleDataItem(UnitValues.Millimiter, ItemType = DataItemType.POSITION, ItemSubType = DataItemSubtype.ACTUAL)]
        public double MachinePosition
        {
            get
            {
                return 0;
            }
        }

        [SampleDataItem(UnitValues.Millimiter, ItemType = DataItemType.POSITION, ItemSubType = DataItemSubtype.ACTUAL)]
        public double ProgramPosition
        {
            get
            {
                return 0;
            }
        }

        [SampleDataItem(UnitValues.MillimiterPerSecond, ItemType = DataItemType.AXIS_FEEDRATE, ItemSubType = DataItemSubtype.COMMANDED)]
        public double CommandFeedrate
        {
            get
            {
                return 0;
            }
        }

        [SampleDataItem(UnitValues.Percent, ItemType = DataItemType.LOAD)]
        public int Load
        {
            get
            {
                return 0;
            }
        }

        public override string Name
        {
            get { return "MockAxis"; }
        }

    }
}
